ingenious
Einstellungen XML Dokumentenimport
Die Hauptmodule > Kontakte > Kontakte Detailansicht > Einstellungen XML Dokumentenimport

Mit dem generischen Auftragsimport können Kunden Ihre Bestellung in einer XML übermitteln, die per Skript in die ingenious Datenbank eingelesen und als Auftrag angelegt wird.

Die Einstellungen für den Dokumentenimport werden am Kontaktdatensatz des Kunden gespeichert.

Für jeden Kunden können die Dateiablage und die XML-Struktur individuell definiert werden.

 

Konfiguration des XML Dokumentenimport für einen Kontakt

Konfiguration des XML Dokumentenimport für einen Kontakt

 

Funktionen

Für die Einstellungen des XML Dokumentenimports stehen die folgenden Funktionen über die Icon-Leiste zur Verfügung:

Fügt einen Artikel mit seiner Vorkonfiguration in die XML Struktur ein. 
Fügt einen neuen Knoten hinzu.
Löscht den markierten Knoten. (Knoten, die für die Struktur mindestens erforderlich sind, können nicht entfernt werden.
Exportiert die XML Vorlage zur Weitergabe an den Kunden. Es öffnet der Windows Speichern Dialog, in dem Ablageort gewählt und der Dateiname vergeben werden kann.

 

 

Dateiablage

XML Dokumentenimport aktiv Checkbox Festlegung, ob der Kunde an den Auftragsimport angeschlossen ist.
Import von Auswahlliste + einfaches Eingabefeld

Auswahl, ob der Import von einem lokalen oder Netzwerk-Verzeichnis oder von einem FTP Server erfolgen soll + Angabe des Ablage-Pfades
Für die Speicherung in der lokalen bzw. Netzwerk-Verzeichnisstruktur kann über das Ordner-Symbol der entsprechende Ordner ausgewählt werden.
Die Angabe des FTP-Ordners erfolgt ohne Angabe des FTP-Hosts.

Erfolgreich importierte Dateien sichern unter Auswahlliste + einfaches Eingabefeld Auswahl, ob erfolgreich importierte Dateien in einem lokalen oder Netzwerk-Verzeichnis oder auf einem FTP Server gesichert werden sollen + Angabe des Ablage-Pfades
Für die Speicherung in der lokalen bzw. Netzwerk-Verzeichnisstruktur kann über das Ordner-Symbol der entsprechende Ordner ausgewählt werden.
Die Angabe des FTP-Ordners erfolgt ohne Angabe des FTP-Hosts.
Fehlerhafte Dateien sichern unter Auswahlliste + einfaches Eingabefeld Auswahl, ob fehlerhafte Dateien in einem lokalen oder Netzwerk-Verzeichnis oder auf einem FTP Server abgelegte werden sollen + Angabe des Ablage-Pfades
Für die Speicherung in der lokalen bzw. Netzwerk-Verzeichnisstruktur kann über das Ordner-Symbol der entsprechende Ordner ausgewählt werden.
Die Angabe des FTP-Ordners erfolgt ohne Angabe des FTP-Hosts.
Fehlermeldung senden an Einfaches Eingabefeld Eingabe der Empfänger E-Mail-Adresse(n), an die eine Meldung im Fehlerfall gesendet werden soll.
Mehrere E-Mail-Adressen sind mit einem Semikolon getrennt einzugeben.

 

FTP-Server

Host Einfaches Eingabefeld Adresse des Hosts des FTP-Servers ohne führendes ftp. oder ftp://
Login Einfaches Eingabefeld Login für den Kunden für den Zugriff auf den FTP-Server
Passwort Einfaches Eingabefeld Passwort für den Kunden für den Zugriff auf den FTP-Server
passiv

Checkbox

Einstellung, ob der FTP-Zugriff über den passiven Modus geschehen soll
SSL Checkbox Einstellung, ob über verschlüsseltes Protokoll (SSL) kommuniziert werden soll

 

XML-Einstellungen

In den XML-Einstellungen wird die Struktur der XML-Datei vorgegeben.

Für jede neue Kunden-Konfiguration wird die Basis-Struktur geladen, die aus dem Header und der Item-List besteht.

Für jeden Knoten wird der Name, die Verknüpfung zum Datenbankfeld oder Stücklistenvariable, eine optionale individuelle Beschreibung, ein eventueller vorbelegter Standardwert und das Kennzeichen für ein Pflichtfeld angegeben.

 

Aufbau des Headers

Im Header werden die Kopfdaten des Auftragsdokuments angegeben.

 

Standard-Knoten

Die Standard-Knoten stellen die Minimalkonfiguration der XML-Struktur dar.

Diese müssen in der vom Kunden angelieferten XML zwingend enthalten sein.

Standard-Knoten können nicht gelöscht werden.

Knoten Feld-Verknüpfung Standardwert Beschreibung
CUSTOMER DB.Contact.Matchcode vorbelegt mit dem Matchcode des Kunden, nicht änderbar Angabe des Kunden zur Zuordnung des Auftrags
NAME DB.Project.document_name Angabe eines Standardwertes für den Namen des Dokuments, mit dem der Auftrag importiert werden soll Hier wird der Projektdokumentname vorgegeben, unter dem die Auftragsdokumente importiert werden sollen. Stimmt der Name mit einem in den Programmeinstellungen definierten Projektdokument überein, so wird aus dieser Konfiguration der Zähler generiert.
Muss ein Dokument vom Typ Auftragsbestätigung = Status 1 sein.
NUMBER DB.Project.no_of_subsidiary_project Angabe eines Standardwertes für die Projekt Kommission(snummer), mit der der Auftrag importiert werden soll Angabe einer kundenindividuellen Auftrags-/Bestellnummer oder Kommissionsbezeichnung, die in das Projektfeld Kommission übernommen wird; die interne Dokumentennummer wird automatisch vergeben.

 

Weitere Knoten

Über den Button  können dem Header weitere Konten hinzugefügt werden.

Mit dem Knoten <DELIVERY_DATE> mit der Verknüpfung zu einem Projektdatumsfeld, z.B. DB.date_9 kann zum Beispiel der Kunde einen Wunschliefertermin übermitteln.

 

Aufbau der Positionsliste

In der Positionsliste <ITEM_LIST> werden alle Positionen eines Auftrags aufgelistet.

Für jede Position wird ein Knoten <ITEM> geschrieben, der die folgenden Standard-Elemente enthält:

 

Knoten Feld-Verknüpfung Standardwert Beschreibung
ITEM-ID DB.Item.number Wurde ein Artikel explizit für den XML Auftragsimport konfiguriert, so ist hier automatisch seine Artikelnummer eingetragen. Interne Artikelnummer der Position
ITEM-NAME DB.Item.matchcode Wurde ein Artikel explizit für den XML Auftragsimport konfiguriert, so ist hier automatisch sein Artikelmatchcode eingetragen. Interner Matchcode der Position
QUANTITY DB.Project_item.quantity z.B. 1 oder höher, wenn eine Mindestanzahl bestellt werden muss Menge, in der der Artikel bestellt wird
X DB.Project_item.x z.B. 100 oder höher, wenn eine Mindestlänge bestellt werden muss Länge, in der der Artikel bestellt wird, bzw. Breite bei Flächenartikeln, soweit auf den jeweiligen Artikel zutreffend
Angabe entsprechend der in den Programmeinstellungen konfigurierten Eingabe-Maßeinheit (cm, mm, inch)
Y DB.Project_item.y z.B. 100 oder höher, wenn eine Mindestbreite bestellt werden muss Höhe, in der der Artikel bestellt wird, soweit auf den jeweiligen Artikel zutreffend
Angabe entsprechend der in den Programmeinstellungen konfigurierten Eingabe-Maßeinheit (cm, mm, inch)
Z DB.Project_item.z z.B. 100 oder höher, wenn eine Mindesttiefe bestellt werden muss Tiefe, in der der Artikel bestellt wird, soweit auf den jeweiligen Artikel zutreffend
Angabe entsprechend der in den Programmeinstellungen konfigurierten Eingabe-Maßeinheit (cm, mm, inch)

Für jeden zu bestellenden Artikel müssen alle Eigenschaften definiert werden, mit denen er eindeutig identifiziert bzw. produziert werden kann.

Für Produkte, die aus mehreren Einzelteilen gerfertigt werden, müssen auch Angaben zur gewünschten Ausführung gemacht werden.
In den so genannten Stücklisten sind alle Varianten eines komplexen Produkts definiert.
Für jede Eigenschaft wird eine Variable festgelegt, die unterschiedliche Werte enthalten kann.

In der XML-Struktur müssen für einen solchen Artikel alle notwendigen Variablen aufgeführt werden.

 

Stücklistenkonfiguration

 

Über den Button  kann über die Artikelsuche die gewünschte Stückliste geladen werden.

Es öffnet die Checkliste, in der bestimmt wird, welche Optionen in der XML enthalten sein sollen (1. Checkbox) und welche Optionen zwingend gefüllt werden müssen (2. Checkbox).

Außerdem kann bereits eine Standardkonfiguration vorgenommen werden.

Sind für einzelne Optionen in der vom Kunden übermittelten XML keine Werte eingetragen, so wird der Standardwert angenommen (z.B. der Kunde bestellt immer eine bestimmte Profilart oder Farbe).

 

Konfiguration einer Stückliste für den XML Auftragsimport eines Kunden

Konfiguration einer Stückliste für den XML Auftragsimport eines Kunden

 

Alle Parameter einer Stückliste werden entsprechend der vorangegangenen Konfiguration in die XML-Struktur geladen.

Anschließend können die Details der einzelnen Knoten weiter bearbeitet werden.

So können z.B. in der Beschreibung die möglichen Werte eines Parameters zur Info für den Kunden angegeben werden.

  

Artikel-Knoten einer Stückliste

Artikel-Knoten einer Stückliste

 

Die Vorkonfiguration einer Stückliste kann auch bereits in den Artikeldaten erfolgen und steht dann beim Hinzufügen des Artikels für alle Kundenkonfigurationen zur Verfügung.

vgl. Quellcode Ansicht und Aufmass

 

Übergabe der XML

 

Ist die XML-Struktur fertig definiert, so kann über den Button  eine Vorlage für den Kunden exportiert werden.

Mit Hilfe dieser Vorlage kann der Kunde für seine Software einen Export seiner Bestellungen programmieren (lassen).

 

XML-Vorlage
Kopiere Code
<?xml version="1.0" encoding="utf-8"?>
<DOCUMENT mandatory="true">
    <HEADER mandatory="true">
        <CUSTOMER mandatory="true" description="Kurzbezeichnung des Kunden">Mustermann GmbH</CUSTOMER>
        <NAME mandatory="true" description="Name des Dokuments">Auftragsbestätigung</NAME>
        <NUMBER description="Projektkommission oder eigene Bestellnummer"></NUMBER>
        <DELIVERY_DATE description="Wunschliefertermin"></DELIVERY_DATE>
    </HEADER>
    <ITEM_LIST mandatory="true">
        <ITEM>
            <ITEM-ID mandatory="true" description="Artikelnummer"></ITEM-ID>
            <ITEM-NAME mandatory="true" description="Artikelmatchcode"></ITEM-NAME>
            <QUANTITY mandatory="true">1</QUANTITY>
            <X>100</X>
            <Y>100</Y>
            <Z>100</Z>
        </ITEM>
        <ITEM>
            <ITEM-ID mandatory="true">R1</ITEM-ID>
            <ITEM-NAME mandatory="true">Rollladenpanzer</ITEM-NAME>
            <QUANTITY mandatory="true">1</QUANTITY>
            <X mandatory="true">100</X>
            <Y mandatory="true">100</Y>
            <info></info>
            <vPType mandatory="true">ALU 36 mm</vPType>
            <vPoLS>0</vPoLS>
            <vPColor mandatory="true" description="Farbe: PVC: weiß, beige, braun, grau, tannengrün; ALU: weiß, beige, braun, grau, azurblau, moosgrün, tannengrün, RAL">braun</vPColor>
            <vPRal></vPRal>
            <vPAtt mandatory="true">Mini-Aufhängefeder</vPAtt>
            <vEType>ALU-Endleiste</vEType>
            <vEDiffColor>False</vEDiffColor>
            <vEColor>braun</vEColor>
            <vERal></vERal>
            <vEStpType>27mm</vEStpType>
            <vEStpFarbe>braun</vEStpFarbe>
            <vEBohren>True</vEBohren>
        </ITEM>
    </ITEM_LIST>
</DOCUMENT>

 

Import der Auftragsdaten

 

Der Import der Auftragsdaten selbst wird zeitgesteuert durch den Scheduler ausgeführt.

Dafür ist ein Skript für das Modul Scheduler mit folgendem Aufruf anzulegen:

 

XML_Import
Kopiere Code
public void XML_Import(out bool bError, out string sResult, out string sDescription)
{
    bError = false;
    sResult = "";
    sDescription = "";
    ingenious.net.Moduls.ProjectXmlImport.Import.Start(out bError, out sResult, out sDescription);
}

 

Im Scheduler wird dann in der Allgemeinen Aufgabenplanung dieses Skript als auszuführende Methode ausgewählt.